﻿package mortal.game.view.best
{
    import Message.Client.*;
    import Message.DB.Tables.*;
    import Message.Public.*;
    import com.gengine.utils.*;
    import extend.language.*;
    import mortal.common.global.*;
    import mortal.component.gconst.*;
    import mortal.game.cache.*;
    import mortal.game.events.*;
    import mortal.game.manager.*;
    import mortal.game.mvc.*;
    import mortal.game.resource.*;
    import mortal.game.resource.info.item.*;
    import mortal.game.resource.tableConfig.*;
    import mortal.game.utils.*;
    import mortal.game.view.copy.crossMainCity.*;
    import mortal.game.view.forging.data.*;
    import mortal.game.view.forging.util.*;
    import mortal.game.view.palyer.data.*;
    import mortal.game.view.palyer.util.*;
    import mortal.game.view.rebate.data.*;
    import mortal.game.view.shopMall.data.*;
    import mortal.game.view.skill.*;
    import mortal.game.view.wizard.data.*;
    import mortal.game.view.wizard.panel.*;
    import mortal.mvc.core.*;

    public class BestUtil extends Object
    {
        public static var expCopyTime:int = 0;

        public function BestUtil()
        {
            return;
        }// end function

        public static function clickTxt(event:DataEvent) : void
        {
            var _loc_4:Object = null;
            var _loc_5:Object = null;
            var _loc_6:EquipRecommendGemData = null;
            var _loc_7:WizardData = null;
            var _loc_8:SkillInfo = null;
            var _loc_9:TDailyViewConfig = null;
            var _loc_10:Object = null;
            var _loc_11:Object = null;
            var _loc_12:Object = null;
            var _loc_13:RebateItemData = null;
            var _loc_14:ItemData = null;
            var _loc_2:* = event.data;
            var _loc_3:* = _loc_2["openStr"];
            _loc_4 = _loc_2["dataObj"];
            switch(_loc_3)
            {
                case "mountsInfoTxt":
                {
                    Dispatcher.dispatchEvent(new DataEvent(EventName.PlayerModuleShowIndexByType, PlayerConst.TabType_Mount));
                    break;
                }
                case "mountsInfoTxt1":
                {
                    Dispatcher.dispatchEvent(new DataEvent(EventName.PlayerModuleShowIndexByType, PlayerConst.TabType_Clothes));
                    break;
                }
                case "mountsInfoTxt2":
                {
                    Dispatcher.dispatchEvent(new DataEvent(EventName.PlayerModuleShowIndexByType, PlayerConst.TabType_Wing));
                    break;
                }
                case "mountsInfoTxt3":
                {
                    Dispatcher.dispatchEvent(new DataEvent(EventName.PlayerModuleShowIndexByType, PlayerConst.TabType_Artifact));
                    break;
                }
                case "mountsInfoTxt4":
                {
                    Dispatcher.dispatchEvent(new DataEvent(EventName.PlayerModuleShowIndexByType, PlayerConst.TabType_FightSoul));
                    break;
                }
                case "mountsInfoTxt5":
                {
                    Dispatcher.dispatchEvent(new DataEvent(EventName.PlayerModuleShowIndexByType, PlayerConst.TabType_FightMethod));
                    break;
                }
                case "mountsInfoTxt6":
                {
                    Dispatcher.dispatchEvent(new DataEvent(EventName.PlayerModuleShowIndexByType, PlayerConst.TabType_DragonSoul));
                    break;
                }
                case "mountsInfoTxt7":
                {
                    Dispatcher.dispatchEvent(new DataEvent(EventName.PlayerModuleShowIndexByType, PlayerConst.TabType_HolyBook));
                    break;
                }
                case "mountsInfoTxt8":
                {
                    Dispatcher.dispatchEvent(new DataEvent(EventName.PlayerModuleShowIndexByType, PlayerConst.TabType_WarShield));
                    break;
                }
                case "mountsInfoTxt9":
                {
                    Dispatcher.dispatchEvent(new DataEvent(EventName.PlayerModuleShowIndexByType, PlayerConst.TabType_MonsterSoul));
                    break;
                }
                case "equipsInfoTxt":
                {
                    _loc_5 = {};
                    _loc_5["pageIndex"] = ForgingConst.Page_EquipStrengthen;
                    _loc_5["equipData"] = _loc_4;
                    Dispatcher.dispatchEvent(new DataEvent(EventName.OpenForgingPanel, _loc_5));
                    break;
                }
                case "gemsInfoTxt":
                {
                    _loc_6 = _loc_4 as EquipRecommendGemData;
                    switch(_loc_6.recommendType)
                    {
                        case BestConst.RecommendType_GemEmbed:
                        {
                            _loc_10 = {};
                            _loc_10["pageIndex"] = ForgingConst.Page_GemStrengthen;
                            _loc_10["equipData"] = _loc_6.equipData;
                            Dispatcher.dispatchEvent(new DataEvent(EventName.OpenForgingPanel, _loc_10));
                            break;
                        }
                        case BestConst.RecommendType_GemAdvance:
                        {
                            _loc_11 = {};
                            _loc_11["pageIndex"] = ForgingConst.Page_GemStrengthen;
                            _loc_11["equipData"] = _loc_6.equipData;
                            Dispatcher.dispatchEvent(new DataEvent(EventName.OpenForgingPanel, _loc_11));
                            break;
                        }
                        case BestConst.RecommendType_GemStreng:
                        {
                            _loc_12 = {};
                            _loc_12["pageIndex"] = ForgingConst.Page_GemStrengthen;
                            _loc_12["equipData"] = _loc_6.equipData;
                            _loc_12["holeIndex"] = _loc_6.gemHoleIndex;
                            Dispatcher.dispatchEvent(new DataEvent(EventName.OpenForgingPanel, _loc_12));
                            break;
                        }
                        default:
                        {
                            break;
                        }
                    }
                    break;
                }
                case "wizardsInfoTxt":
                {
                    _loc_7 = _loc_4 as WizardData;
                    NetDispatcher.dispatchCmd(ServerCommand.WizardWinOpen, _loc_7.tSprite.code);
                    break;
                }
                case "skillsInfoTxt":
                {
                    Dispatcher.dispatchEvent(new DataEvent(EventName.SkillShowHideModule, true));
                    _loc_8 = SkillInfo(_loc_4);
                    Dispatcher.dispatchEvent(new DataEvent(EventName.Skill_SelectPos, _loc_8.position));
                    break;
                }
                case "petsInfoTxt":
                {
                    Dispatcher.dispatchEvent(new DataEvent(EventName.BestShowPetWin, PlayerConst.TabType_Pet));
                    break;
                }
                case "shopInfoTxt":
                {
                    if (_loc_4 is RebateItemData)
                    {
                        _loc_13 = _loc_4 as RebateItemData;
                        Dispatcher.dispatchEvent(new DataEvent(EventName.ShopShowArrowToRebate));
                    }
                    else
                    {
                        _loc_14 = _loc_4 as ItemData;
                        Dispatcher.dispatchEvent(new DataEvent(EventName.BackPack_Use, _loc_14));
                    }
                    break;
                }
                case "cityTaxInfoTxt":
                {
                    Dispatcher.dispatchEvent(new DataEvent(EventName.MainCityModuleOpenTabIndex, MainCityModule.Index_FinalPanel));
                    return;
                }
                case "expCopyInfoTxt":
                {
                    Dispatcher.dispatchEvent(new DataEvent(EventName.ExpCopyModuleOpen, null));
                    break;
                }
                default:
                {
                    break;
                }
            }
            return;
        }// end function

        public static function getMountsInfo() : Array
        {
            var _loc_2:int = 0;
            var _loc_3:int = 0;
            var _loc_4:TMountConfig = null;
            var _loc_5:TMountConfig = null;
            var _loc_1:Array = [false, "", null, false, ""];
            if (isLevelNotEnouth(13))
            {
                return _loc_1;
            }
            if (Cache.instance.mount.mountData == null || Cache.instance.mount.mountData.sPublicMount == null)
            {
                return _loc_1;
            }
            if (MountUtil.isCanAdvanced)
            {
                _loc_2 = Cache.instance.mount.mountData.sPublicMount.bless;
                _loc_3 = Cache.instance.mount.mountData.mountLevel;
                _loc_4 = MountConfig.instance.getMountInfoByCode((_loc_3 + 1));
                if (_loc_4)
                {
                    _loc_5 = MountConfig.instance.getMountInfoByCode(_loc_3);
                    _loc_1[0] = true;
                    _loc_1[1] = Language.getString(70844) + "<a href=\'event:positionInroduce\' target = \'\'><u>" + MountUtil.getMountNameByCode(_loc_4.code) + "</u></a>";
                    _loc_1[4] = "<font color=\'" + GlobalStyle.colorHuang2 + "\'>" + Language.getString(70819) + "</font>";
                    if (_loc_2 > 0 && Cache.instance.mount.mountData.tMountConfig.code > 2)
                    {
                        _loc_1[3] = true;
                    }
                    else
                    {
                        _loc_1[3] = false;
                    }
                    _loc_1[2] = _loc_5;
                }
            }
            else
            {
                _loc_1[0] = false;
            }
            return _loc_1;
        }// end function

        public static function getMountBlessTime() : int
        {
            var _loc_1:* = Cache.instance.mount.mountData.sPublicMount.lastAdvanceSuccessDt;
            var _loc_2:* = ClockManager.instance.nowDate;
            var _loc_3:* = (_loc_1.time - _loc_2.time) / 1000;
            return _loc_3;
        }// end function

        public static function getPetBlessTime() : int
        {
            var _loc_1:* = Cache.instance.newPet.pet.blessExpiredDt;
            var _loc_2:* = ClockManager.instance.nowDate;
            var _loc_3:* = (_loc_1.time - _loc_2.time) / 1000;
            return _loc_3;
        }// end function

        public static function getPetsInfo() : Array
        {
            var _loc_2:int = 0;
            var _loc_3:SPublicPet2 = null;
            var _loc_4:TMountConfig = null;
            var _loc_5:TMountConfig = null;
            var _loc_6:int = 0;
            var _loc_7:String = null;
            var _loc_1:Array = [false, "", null, false, ""];
            if (isLevelNotEnouth(2))
            {
                return _loc_1;
            }
            if (PetUtil.hasPetCanGrowing)
            {
                _loc_2 = Cache.instance.newPet.pet.bless;
                _loc_3 = Cache.instance.newPet.pet;
                _loc_4 = MountConfig.instance.getFashionInfoByCode(EAdvanceComponentType._EAdvanceComponentTypePet, _loc_3.code);
                _loc_5 = MountConfig.instance.getFashionInfoByCode(EAdvanceComponentType._EAdvanceComponentTypePet, (_loc_3.code + 1));
                if (_loc_5)
                {
                    _loc_6 = _loc_3.code + 1;
                    _loc_7 = HTMLUtil.addColor(_loc_5.name, ColorConfig.instance.getItemColor(Math.ceil(_loc_6 / 2)).color);
                    _loc_1[0] = true;
                    _loc_1[1] = Language.getString(70844) + "<a href=\'event:positionInroduce\' target = \'\'><u>" + _loc_7 + "</u></a>";
                    _loc_1[4] = "<font color=\'" + GlobalStyle.colorHuang2 + "\'>" + Language.getString(70824) + "</font>";
                    if (_loc_2 > 0 && _loc_4.blessClear)
                    {
                        _loc_1[3] = true;
                    }
                    else
                    {
                        _loc_1[3] = false;
                    }
                    _loc_1[2] = _loc_4;
                }
            }
            else
            {
                _loc_1[0] = false;
            }
            return _loc_1;
        }// end function

        public static function needShopInfo() : Boolean
        {
            if (ClockManager.instance.serverOpenDateNum <= 7)
            {
                return true;
            }
            return false;
        }// end function

        public static function getShopInfo() : Array
        {
            var _loc_3:String = null;
            var _loc_6:int = 0;
            var _loc_7:ItemData = null;
            var _loc_8:int = 0;
            var _loc_1:Array = [false, "", null, false, ""];
            if (!needShopInfo())
            {
                return _loc_1;
            }
            var _loc_2:Boolean = false;
            var _loc_4:* = ShopUtil.curReBateItem;
            var _loc_5:* = getShopBagGift();
            if (_loc_5 && _loc_5.length > 0)
            {
                _loc_5.sort(sortShop);
                _loc_6 = 0;
                while (_loc_6 < _loc_5.length)
                {
                    
                    _loc_7 = _loc_5[_loc_6];
                    _loc_8 = _loc_7.itemInfo.effect;
                    _loc_3 = ItemsUtil.getItemName(_loc_7);
                    if (ItemsUtil.isPrescriOutTime(_loc_7) == false && Cache.instance.role.enoughMoney(EPriceUnit._EPriceUnitGold, _loc_8))
                    {
                        _loc_1[0] = true;
                        _loc_1[1] = Language.getString(70846) + "<a href=\'event:positionInroduce\' target = \'\'><u>" + _loc_3 + "</u></a>" + Language.getString(71390);
                        _loc_1[4] = "<font color=\'" + GlobalStyle.colorHuang2 + "\'>" + Language.getString(70841) + "</font>";
                        _loc_1[2] = _loc_7;
                        break;
                    }
                    _loc_6++;
                }
            }
            return _loc_1;
        }// end function

        private static function getShopBagGift() : Array
        {
            var _loc_4:ItemData = null;
            var _loc_5:ItemGiftBagInfo = null;
            var _loc_1:* = Cache.instance.pack.backPackCache.getItemListByGroup(EGroup._EGroupProp);
            var _loc_2:Array = [];
            var _loc_3:* = RebateUtil.getTargetType();
            for each (_loc_4 in _loc_1)
            {
                
                _loc_5 = _loc_4.itemInfo as ItemGiftBagInfo;
                if (_loc_5 && _loc_5.category == 2 && _loc_5.type == 5 && (_loc_5.giftType >= 3 && _loc_5.giftType <= 12) && _loc_5.giftType == _loc_3)
                {
                    _loc_2.push(_loc_4);
                }
            }
            return _loc_2;
        }// end function

        private static function sortShop(param1:ItemData, param2:ItemData) : int
        {
            if (param1.itemInfo.effect < param2.itemInfo.effect)
            {
                return -1;
            }
            if (param1.itemInfo.effect > param2.itemInfo.effect)
            {
                return 1;
            }
            return 0;
        }// end function

        public static function getWPCInfoByType(param1:int) : Array
        {
            var _loc_2:Array = [false, "", null, false, ""];
            if (isWPCOpenByLevel(param1) == false)
            {
                return _loc_2;
            }
            var _loc_3:* = FashionUtil.getFashionRecommendData(param1);
            if (_loc_3)
            {
                switch(param1)
                {
                    case EAdvanceComponentType._EAdvanceComponentTypeClothes:
                    case EAdvanceComponentType._EAdvanceComponentTypeWing:
                    case EAdvanceComponentType._EAdvanceComponentTypeWeapon:
                    {
                        _loc_2[0] = true;
                        _loc_2[1] = Language.getString(70844) + "<a href=\'event:positionInroduce\' target = \'\'><u>" + HTMLUtil.addColor(_loc_3.recommendName, "#00ff00") + "</u></a>";
                        _loc_2[4] = "<font color=\'" + GlobalStyle.colorHuang2 + "\'>【" + FashionUtil.getFashionNameByType(param1) + "】</font>";
                        if (_loc_3.blessLeftTime > 0)
                        {
                            _loc_2[3] = true;
                        }
                        else
                        {
                            _loc_2[3] = false;
                        }
                        _loc_2[2] = _loc_3;
                        break;
                    }
                    case EAdvanceComponentType._EAdvanceComponentTypeFightSoul:
                    case EAdvanceComponentType._EAdvanceComponentTypeFightMethod:
                    case EAdvanceComponentType._EAdvanceComponentTypeDragonSoul:
                    case EAdvanceComponentType._EAdvanceComponentTypeHolyBook:
                    case EAdvanceComponentType._EAdvanceComponentTypeWarShield:
                    case EAdvanceComponentType._EAdvanceComponentTypeMonsterSoul:
                    {
                        if (_loc_3.isCanActive)
                        {
                            _loc_2[0] = true;
                            _loc_2[1] = "<a href=\'event:positionInroduce\' target = \'\'><u>" + HTMLUtil.addColor("" + Language.getString(70847), "#00ff00") + "</u></a>";
                            _loc_2[4] = "<font color=\'" + GlobalStyle.colorHuang2 + "\'>【" + FashionUtil.getFashionNameByType(param1) + "】</font>";
                        }
                        else
                        {
                            _loc_2[0] = true;
                            _loc_2[1] = Language.getString(70844) + "<a href=\'event:positionInroduce\' target = \'\'><u>" + HTMLUtil.addColor(_loc_3.recommendName, "#00ff00") + "</u></a>";
                            _loc_2[4] = "<font color=\'" + GlobalStyle.colorHuang2 + "\'>【" + FashionUtil.getFashionNameByType(param1) + "】</font>";
                            if (_loc_3.blessLeftTime > 0)
                            {
                                _loc_2[3] = true;
                            }
                            else
                            {
                                _loc_2[3] = false;
                            }
                            _loc_2[2] = _loc_3;
                        }
                    }
                    default:
                    {
                        break;
                    }
                }
            }
            return _loc_2;
        }// end function

        private static function isWPCOpenByLevel(param1:int) : Boolean
        {
            var _loc_2:* = Cache.instance.role.entityInfo.level;
            var _loc_3:int = 31;
            switch(param1)
            {
                case EAdvanceComponentType._EAdvanceComponentTypeClothes:
                {
                    _loc_3 = GameConst.ClothOpenLevel;
                    break;
                }
                case EAdvanceComponentType._EAdvanceComponentTypeWing:
                {
                    _loc_3 = GameConst.WingOpenLevel;
                    break;
                }
                case EAdvanceComponentType._EAdvanceComponentTypeWeapon:
                {
                    _loc_3 = GameConst.ArtifactOpenLevel;
                    break;
                }
                case EAdvanceComponentType._EAdvanceComponentTypeFightSoul:
                {
                    _loc_3 = GameConst.FightSoulOpenLevel;
                    break;
                }
                case EAdvanceComponentType._EAdvanceComponentTypeFightMethod:
                {
                    _loc_3 = GameConst.FightMethodOpenLevel;
                    break;
                }
                case EAdvanceComponentType._EAdvanceComponentTypeDragonSoul:
                {
                    _loc_3 = GameConst.DragonSoulOpenLevel;
                    break;
                }
                case EAdvanceComponentType._EAdvanceComponentTypeHolyBook:
                {
                    _loc_3 = GameConst.HolyBookOpenLevel;
                    break;
                }
                case EAdvanceComponentType._EAdvanceComponentTypeWarShield:
                {
                    _loc_3 = GameConst.WarShieldOpenLevel;
                    break;
                }
                case EAdvanceComponentType._EAdvanceComponentTypeMonsterSoul:
                {
                    _loc_3 = GameConst.MonsterSoulOpenLevel;
                    break;
                }
                default:
                {
                    break;
                }
            }
            return _loc_2 >= _loc_3;
        }// end function

        public static function formatTime() : String
        {
            var _loc_1:* = ClockManager.instance.nowDate;
            var _loc_2:* = 23 - _loc_1.getHours();
            var _loc_3:* = 59 - _loc_1.getMinutes();
            var _loc_4:* = 59 - _loc_1.getSeconds();
            var _loc_5:String = "";
            _loc_5 = _loc_5 + ((_loc_2 < 10 ? ("0") : (":")) + _loc_2);
            _loc_5 = _loc_5 + ((_loc_3 < 10 ? (":0") : (":")) + _loc_3);
            _loc_5 = _loc_5 + ((_loc_4 < 10 ? (":0") : (":")) + _loc_4);
            return _loc_5;
        }// end function

        public static function getEquipsInfo() : Array
        {
            var _loc_1:Array = [false, "", null, false, ""];
            var _loc_2:* = Cache.instance.pack.packRolePackCache.getRecommendEquipInfo();
            if (_loc_2)
            {
                _loc_1[0] = true;
                _loc_1[1] = "<a href=\'event:positionInroduce\' target = \'\'><u>" + ItemsUtil.getItemName(_loc_2.itemData) + "</u></a> " + Language.getString(71392) + _loc_2.nextLevelCanReach;
                _loc_1[2] = _loc_2.itemData;
                _loc_1[4] = "<font color=\'" + GlobalStyle.colorHuang2 + "\'>" + Language.getString(70820) + "</font>";
            }
            return _loc_1;
        }// end function

        public static function getGemsInfo() : Array
        {
            var _loc_1:Array = [false, "", null, false, ""];
            var _loc_2:* = GemUtil.getRecommandGemInfo();
            if (_loc_2)
            {
                switch(_loc_2.recommendType)
                {
                    case BestConst.RecommendType_GemEmbed:
                    {
                        _loc_1[0] = true;
                        _loc_1[1] = "<a href=\'event:positionInroduce\' target = \'\'><u>" + HTMLUtil.addColor(_loc_2.gemName, "#00ff00") + "</u></a> " + Language.getString(70826);
                        break;
                    }
                    case BestConst.RecommendType_GemAdvance:
                    {
                        _loc_1[0] = true;
                        _loc_1[1] = "<a href=\'event:positionInroduce\' target = \'\'><u>" + HTMLUtil.addColor(_loc_2.gemName, "#00ff00") + Language.getString(70848) + "</u></a>";
                        break;
                    }
                    case BestConst.RecommendType_GemStreng:
                    {
                        _loc_1[0] = true;
                        _loc_1[1] = "<a href=\'event:positionInroduce\' target = \'\'><u>" + HTMLUtil.addColor(_loc_2.gemName, "#00ff00") + "</u></a> " + Language.getString(71399);
                        break;
                    }
                    default:
                    {
                        break;
                    }
                }
                _loc_1[4] = "<font color=\'" + GlobalStyle.colorHuang2 + "\'>" + Language.getString(70825) + "</font>";
                _loc_1[2] = _loc_2;
            }
            return _loc_1;
        }// end function

        public static function getWizardsInfo() : Array
        {
            var _loc_3:WizardData = null;
            var _loc_4:String = null;
            var _loc_1:Array = [false, "", null, false, ""];
            if (isLevelNotEnouth(5))
            {
                return _loc_1;
            }
            var _loc_2:* = WizardUtil.canOperWizardData;
            if (_loc_2 && _loc_2.data != null)
            {
                _loc_3 = _loc_2.data;
                _loc_1[0] = true;
                _loc_1[2] = _loc_3;
                _loc_4 = "";
                switch(_loc_2.type)
                {
                    case 1:
                    {
                        _loc_4 = "" + Language.getString(70847);
                        break;
                    }
                    case 2:
                    {
                        _loc_4 = "" + Language.getString(70850);
                        break;
                    }
                    case 3:
                    {
                        _loc_4 = "" + Language.getString(71386);
                        break;
                    }
                    default:
                    {
                        break;
                    }
                }
                _loc_1[1] = "<a href=\'event:positionInroduce\' target = \'\'><u><font color=\'" + GlobalStyle.colorLv + "\'>" + _loc_3.tSprite.name + "</font></u></a> " + _loc_4;
                _loc_1[4] = "<font color=\'" + GlobalStyle.colorHuang2 + "\'>" + Language.getString(70822) + "</font>";
            }
            return _loc_1;
        }// end function

        private static function sortFunc(param1:WizardData, param2:WizardData) : int
        {
            if (param1.spriteInfo == null && param2.spriteInfo != null)
            {
                return 1;
            }
            if (param1.spriteInfo != null && param2.spriteInfo == null)
            {
                return -1;
            }
            if (param1.spriteInfo == null && param2.spriteInfo == null)
            {
                return 0;
            }
            if (param1.spriteInfo.SpriteLevel > param2.spriteInfo.SpriteLevel)
            {
                return 1;
            }
            if (param1.spriteInfo.SpriteLevel < param2.spriteInfo.SpriteLevel)
            {
                return -1;
            }
            if (param1.spriteInfo.SpriteLevel == param2.spriteInfo.SpriteLevel)
            {
                if (param1.tSprite.code > param2.tSprite.code)
                {
                    return 1;
                }
                return -1;
            }
            return 0;
        }// end function

        private static function sortSkill(param1:SkillInfo, param2:SkillInfo) : int
        {
            if (param1.levelLimited > param2.levelLimited)
            {
                return 1;
            }
            if (param1.levelLimited < param2.levelLimited)
            {
                return -1;
            }
            return 0;
        }// end function

        private static function isLevelNotEnouth(param1:int) : Boolean
        {
            var _loc_2:* = Cache.instance.role.entityInfo.level;
            var _loc_3:* = GameDefConfig.instance.getSystemOpenLevel(param1);
            if (_loc_2 < _loc_3)
            {
                return true;
            }
            return false;
        }// end function

        public static function getSkillsInfo() : Array
        {
            var _loc_3:SkillInfo = null;
            var _loc_4:int = 0;
            var _loc_1:Array = [false, "", null, false, ""];
            if (isLevelNotEnouth(4))
            {
                return _loc_1;
            }
            var _loc_2:* = Cache.instance.skill.getAllCareerSkills().concat();
            if (_loc_2)
            {
                if (_loc_2.length > 1)
                {
                    _loc_2.sort(sortSkill);
                }
                _loc_4 = 0;
                while (_loc_4 < _loc_2.length)
                {
                    
                    _loc_3 = _loc_2[_loc_4];
                    if (_loc_3 && _loc_3.learnable())
                    {
                        _loc_1[0] = true;
                        _loc_1[2] = _loc_3;
                        _loc_1[1] = Language.getString(71387) + "</font><a href=\'event:positionInroduce\' target = \'\'><font color=\'" + GlobalStyle.colorLv + "\'><u>" + _loc_3.skillName + "</u></font></a>";
                        _loc_1[4] = "<font color=\'" + GlobalStyle.colorHuang2 + "\'>" + Language.getString(70823) + "</font>";
                        return _loc_1;
                    }
                    _loc_4++;
                }
            }
            if (_loc_2)
            {
                _loc_4 = 0;
                while (_loc_4 < _loc_2.length)
                {
                    
                    _loc_3 = _loc_2[_loc_4];
                    if (_loc_3 && _loc_3.upgradable())
                    {
                        _loc_1[0] = true;
                        _loc_1[2] = _loc_3;
                        _loc_1[1] = Language.getString(71388) + "</font><a href=\'event:positionInroduce\' target = \'\'><font color=\'" + GlobalStyle.colorLv + "\'><u>" + _loc_3.skillName + "</u></font></a>";
                        _loc_1[4] = "<font color=\'" + GlobalStyle.colorHuang2 + "\'>" + Language.getString(70823) + "</font>";
                        return _loc_1;
                    }
                    _loc_4++;
                }
            }
            return _loc_1;
        }// end function

        public static function getCityTaxInfo() : Array
        {
            var _loc_2:TDailyViewConfig = null;
            var _loc_1:Array = [false, "", null, false, ""];
            if (Cache.instance.mainCity.canIGetTaxReward())
            {
                _loc_2 = new TDailyViewConfig();
                _loc_2.operType = EDailyOperType._EDailyOperTypePathing;
                _loc_2.operValue = "1010026";
                _loc_1[0] = true;
                _loc_1[2] = _loc_2;
                _loc_1[1] = "</font><a href=\'event:positionInroduce\' target = \'\'><font color=\'" + GlobalStyle.colorLv + "\'><u>" + Language.getString(71389) + "</u></font></a>";
                _loc_1[4] = "<font color=\'" + GlobalStyle.colorHuang2 + "\'>" + Language.getString(70842) + "</font>";
            }
            return _loc_1;
        }// end function

        public static function getExpCopyInfo() : Array
        {
            var _loc_1:Array = [false, "", null, false, ""];
            var _loc_2:* = expCopyTime > 0;
            if (_loc_2)
            {
                _loc_1[0] = true;
                _loc_1[1] = "</font><a href=\'event:positionInroduce\' target = \'\'><font color=\'" + GlobalStyle.colorLv + "\'><u>" + Language.getStringByParam(71391, expCopyTime) + "</u></font></a>";
                _loc_1[4] = "<font color=\'" + GlobalStyle.colorHuang2 + "\'>" + Language.getString(70843) + "</font>";
            }
            return _loc_1;
        }// end function

    }
}
